home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / con_005c.zip / CONCORD.RAR / SCRIPT.RAR / BBSLIST.SCR < prev    next >
Text File  |  1997-04-25  |  8KB  |  304 lines

  1. ; BBSLIST.SCR : Add / Modify BBS in the BBS list
  2. ;
  3. ; This script is called from Add/Change BBS menutype.
  4. ;
  5. ; There may be a small bug in setting the first net address:
  6. ; In certain cases, the net address remains 0:0/0 even if set correctly.
  7. ; Saving BBS information and modifying the net address later will
  8. ; correct the problem.
  9.  
  10.    VAR %YPOS% = NUMBER
  11.    VAR %TEMP% = NUMBER
  12.  
  13.    VAR %L1% = STRING 20
  14.    VAR %L2% = NUMBER
  15.    VAR %L3% = STRING 11
  16.    VAR %L4% = STRING 15
  17.  
  18. :HEADER
  19.    WRITE "^C14,0;^E1;"
  20.    WRITE "BBS name :                                     Press Ctrl-Z to continue.^M;"
  21.    WRITE "Sysop    :^M;"
  22.    WRITE "Software :^M;"
  23.    MENUTYPE 1A BBSLIST1
  24. :HEADER_OK
  25.    WRITE "^G1,5;"
  26.    WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
  27.    WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;gain, "
  28.    WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
  29.    SET @ANSWER@ =
  30.    WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2A^C7,0;/^C15,0;~3Q^C7,0;) ^W;^M;"
  31.    IF (@ANSWER@ = 1)
  32.      GOTO NODE
  33.    END
  34.    IF (@ANSWER@ = 2)
  35.      GOTO HEADER
  36.    END
  37.    IF (@ANSWER@ = 3)
  38.      SET @ANSWER@ =
  39.      WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
  40.      IF (@ANSWER@ = 1)
  41.        WRITE "^M;"
  42.        QUIT
  43.      ELSE
  44.        WRITE "^X-79;^E3;"
  45.        GOTO HEADER_OK
  46.      END
  47.    END
  48.    GOTO HEADER_OK
  49.  
  50. :NODE
  51.    GOSUB SHOWNODES
  52. :NODE_OK
  53.    WRITE "^G1,5;"
  54.    WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
  55.    WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit node, "
  56.    WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd node, "
  57.    WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete node, "
  58.    WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
  59.    SET @ANSWER@ =
  60.    WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
  61.    IF (@ANSWER@ = 1)
  62.      GOSUB NET
  63.    END
  64.    IF (@ANSWER@ = 2)
  65.      IF (@BBSLIST_NODES@ > 0)
  66.        GOSUB ASK_NODE
  67.        GOSUB EDIT_NODE
  68.      ELSE
  69.        GOSUB ADD_NODE
  70.      END
  71.    END
  72.    IF ((@ANSWER@ = 3) AND (@BBSLIST_NODES@ < 10))
  73.      GOSUB ADD_NODE
  74.    END
  75.    IF ((@ANSWER@ = 4) AND (@BBSLIST_NODES@ > 1))
  76.      GOSUB ASK_NODE
  77.      SET @ANSWER@ =
  78.      WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
  79.      IF (@ANSWER@ = 1)
  80.        GOSUB DEL_NODE
  81.        GOSUB SHOWNODES
  82.      ELSE
  83.        WRITE "^X-79;^E3;"
  84.        GOTO NODE_OK
  85.      END
  86.    END
  87.    IF (@ANSWER@ = 5)
  88.      SET @ANSWER@ =
  89.      WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
  90.      IF (@ANSWER@ = 1)
  91.        WRITE "^M;"
  92.        QUIT
  93.      ELSE
  94.        WRITE "^X-79;^E3;"
  95.        GOTO NODE_OK
  96.      END
  97.    END
  98.    GOTO NODE_OK
  99.  
  100. :SHOWNODES
  101.    WRITE "^E1;"
  102.    WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
  103.    WRITE "^C14,0;Sysop    : ^C15,0;@BBSLIST_SYSOP@.35^M;"
  104.    WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
  105.    WRITE "^G1,7;^C14,0; # Phonenumber           BPS    Open         Other^M;"
  106.    IF (@BBSLIST_NODES@ > 0)
  107.      SET %TEMP% = 0
  108.      :LOOP1
  109.        SET %TEMP% = (%TEMP%+1)
  110.        SET @BBSLIST_NODE@ = %TEMP%
  111.        WRITE "^C15,0;@BBSLIST_NODE@:02 @BBSLIST_NUMBER@.20  @BBSLIST_BPSRATE@.05  @BBSLIST_OPEN@.11  @BBSLIST_NODECMNT@.15^M;"
  112.        IF ((@BBSLIST_NODE@ = @BBSLIST_NODES@) OR (@BBSLIST_NODE@ = 10))
  113.          GOTO OUT1
  114.        END
  115.      GOTO LOOP1
  116.    END
  117.    :OUT1
  118.    RETURN
  119.  
  120. :ASK_NODE
  121.    ; sets node number
  122.    IF (@BBSLIST_NODES@ > 1)
  123.      SET @ANSWER@ =
  124.      WRITE "^C13,0;Enter node number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
  125.      IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NODES@))
  126.        RETURN
  127.      ELSE
  128.        SET @BBSLIST_NODE@ = @ANSWER@
  129.      END
  130.    ELSE
  131.      SET @BBSLIST_NODE@ = 1
  132.    END
  133.    RETURN
  134.  
  135. :EDIT_NODE
  136.    ; edit current node number
  137.    WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
  138.    SET %YPOS% = (@BBSLIST_NODE@+7)
  139.    WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NODE@:02"
  140.    MENUTYPE 1A BBSLIST2
  141.    WRITE "^G48,1;^C14,0;^E3;"
  142.    RETURN
  143.  
  144. :ADD_NODE
  145.    SET %TEMP% = (@BBSLIST_NODES@+1)
  146.    SET @BBSLIST_NODES@ = %TEMP%
  147.    SET @BBSLIST_NODE@ = @BBSLIST_NODES@
  148.    GOSUB EDIT_NODE
  149.    RETURN
  150.  
  151. :DEL_NODE
  152.    IF (@BBSLIST_NODE@ < @BBSLIST_NODES@)
  153.      SET %TEMP% = (@BBSLIST_NODE@+1)
  154.      :LOOP2
  155.        SET @BBSLIST_NODE@ = %TEMP%
  156.        SET %L1% = @BBSLIST_NUMBER@
  157.        SET %L2% = @BBSLIST_BPSRATE@
  158.        SET %L3% = @BBSLIST_OPEN@
  159.        SET %L4% = @BBSLIST_NODECMNT@
  160.        SET %TEMP% = (%TEMP%-1)
  161.        SET @BBSLIST_NODE@     = %TEMP%
  162.        SET @BBSLIST_NUMBER@   = %L1%
  163.        SET @BBSLIST_BPSRATE@  = %L2%
  164.        SET @BBSLIST_OPEN@     = %L3%
  165.        SET @BBSLIST_NODECMNT@ = %L4%
  166.        SET %TEMP% = (%TEMP%+2)
  167.        IF (%TEMP% >= @BBSLIST_NODES@)
  168.          GOTO OUT2
  169.        END
  170.      GOTO LOOP2
  171.    END
  172.    :OUT2
  173.    SET %TEMP% = (@BBSLIST_NODES@-1)
  174.    SET @BBSLIST_NODES@ = %TEMP%
  175.    SET @BBSLIST_NODE@  = 1
  176.    RETURN
  177.  
  178. :NET
  179.    GOSUB SHOWNETS
  180. :NET_OK
  181.    WRITE "^G1,5;"
  182.    WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
  183.    WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit net address, "
  184.    WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd addr, "
  185.    WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete addr, "
  186.    WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
  187.    SET @ANSWER@ =
  188.    WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
  189.    IF (@ANSWER@ = 1)
  190.      GOSUB STOP
  191.    END
  192.    IF (@ANSWER@ = 2)
  193.      IF (@BBSLIST_NETS@ > 0)
  194.        GOSUB ASK_NET
  195.        GOSUB EDIT_NET
  196.      ELSE
  197.        GOSUB ADD_NET
  198.      END
  199.    END
  200.    IF ((@ANSWER@ = 3) AND (@BBSLIST_NETS@ < 10))
  201.      GOSUB ADD_NET
  202.    END
  203.    IF ((@ANSWER@ = 4) AND (@BBSLIST_NETS@ > 1))
  204.      GOSUB ASK_NET
  205.      SET @ANSWER@ =
  206.      WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
  207.      IF (@ANSWER@ = 1)
  208.        GOSUB DEL_NET
  209.        GOSUB SHOWNETS
  210.      ELSE
  211.        WRITE "^X-79;^E3;"
  212.        GOTO NET_OK
  213.      END
  214.    END
  215.    IF (@ANSWER@ = 5)
  216.      SET @ANSWER@ =
  217.      WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
  218.      IF (@ANSWER@ = 1)
  219.        WRITE "^M;"
  220.        QUIT
  221.      ELSE
  222.        WRITE "^X-79;^E3;"
  223.        GOTO NET_OK
  224.      END
  225.    END
  226.    GOTO NET_OK
  227.  
  228. :SHOWNETS
  229.    WRITE "^E1;"
  230.    WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
  231.    WRITE "^C14,0;Sysop    : ^C15,0;@BBSLIST_SYSOP@.35^M;"
  232.    WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
  233.    WRITE "^G1,7;^C14,0; # Net address           Net name^M;"
  234.    IF (@BBSLIST_NETS@ > 0)
  235.      SET %TEMP% = 0
  236.      :LOOP3
  237.        SET %TEMP% = (%TEMP%+1)
  238.        SET @BBSLIST_NET@ = %TEMP%
  239.        WRITE "^C15,0;@BBSLIST_NET@:02 @BBSLIST_NETADDR@.20  @BBSLIST_NETNAME@.15^M;"
  240.        IF ((@BBSLIST_NET@ = @BBSLIST_NETS@) OR (@BBSLIST_NET@ = 10))
  241.          GOTO OUT3
  242.        END
  243.      GOTO LOOP3
  244.    END
  245.    :OUT3
  246.    RETURN
  247.  
  248. :ASK_NET
  249.    ; sets net number
  250.    IF (@BBSLIST_NETS@ > 1)
  251.      SET @ANSWER@ =
  252.      WRITE "^C13,0;Enter net number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
  253.      IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NETS@))
  254.        RETURN
  255.      ELSE
  256.        SET @BBSLIST_NET@ = @ANSWER@
  257.      END
  258.    ELSE
  259.      SET @BBSLIST_NET@ = 1
  260.    END
  261.    RETURN
  262.  
  263. :EDIT_NET
  264.    ; edit current net number
  265.    WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
  266.    SET %YPOS% = (@BBSLIST_NET@+7)
  267.    WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NET@:02"
  268.    MENUTYPE 1A BBSLIST3
  269.    WRITE "^G48,1;^C14,0;^E3;"
  270.    RETURN
  271.  
  272. :ADD_NET
  273.    SET %TEMP% = (@BBSLIST_NETS@+1)
  274.    SET @BBSLIST_NETS@ = %TEMP%
  275.    SET @BBSLIST_NET@ = @BBSLIST_NETS@
  276.    GOSUB EDIT_NET
  277.    RETURN
  278.  
  279. :DEL_NET
  280.    IF (@BBSLIST_NET@ < @BBSLIST_NETS@)
  281.      SET %TEMP% = (@BBSLIST_NET@+1)
  282.      :LOOP4
  283.        SET @BBSLIST_NET@ = %TEMP%
  284.        SET %L1% = @BBSLIST_NETADDR@
  285.        SET %L4% = @BBSLIST_NETNAME@
  286.        SET %TEMP% = (%TEMP%-1)
  287.        SET @BBSLIST_NET@     = %TEMP%
  288.        SET @BBSLIST_NETADDR@ = %L1%
  289.        SET @BBSLIST_NETNAME@ = %L4%
  290.        SET %TEMP% = (%TEMP%+2)
  291.        IF (%TEMP% >= @BBSLIST_NETS@)
  292.          GOTO OUT4
  293.        END
  294.      GOTO LOOP4
  295.    END
  296.    :OUT4
  297.    SET %TEMP% = (@BBSLIST_NETS@-1)
  298.    SET @BBSLIST_NETS@ = %TEMP%
  299.    SET @BBSLIST_NET@  = 1
  300.    RETURN
  301.  
  302. :STOP
  303.    QUIT
  304.